feat: 원장을 만든 호출이 만들었다고 말한다 — 막지 않고 보이게 (#48 재구성) - #49
Merged
Conversation
08-26 에 신고된 두 건은 **MCP 경로**였다. 0.41.0 이 세운 문(없는 원장 생성 거부)은 `main()` 안에 있어 CLI 에만 걸린다 — 이 서버의 모든 툴은 파이썬 API 로 가므로 그 문을 통째로 지나친다. 그래서 수리가 정작 신고된 경로에 닿지 않았다. API 를 막는 건 답이 아니다. 대부분의 호출자가 안 하는 실수 때문에 **전 레인 봉인이 멈춘다**. 그래서 막지 않고 **보이게** 한다. `mm_preregister`·`mm_retract`·`am_record`·`am_witness`·`pm_verify` 가 응답에 `⚠️ new_ledger_created` 를 실어 **절대경로**를 찍는다. `mm_preregister` 는 추가로 `lint` 안에 `㉘ ledger-birth` WARN 을 낸다 — 압축이 WARN 은 원문 그대로 두고 나머지는 개수로 접기 때문에 이 줄만 살아남는다. ★ 이건 스택의 다른 무엇도 못 메우는 구멍이다. 갓 태어난 원장의 체인은 **완벽히 성하다**. 그래서 무결성 검사는 전부 초록이고, 어떤 프로브도 이 파일이 새것이라고 말할 이유가 없다. 그 정보가 존재하는 순간은 **만드는 그 호출 하나뿐**이다. 시험 4건 — 그중 둘이 **음성대조**다(이어 쓸 때는 안 뜬다). 항상 뜨는 알림은 소음이고, 소음은 읽는 쪽이 건너뛰는 법을 배운다. pytest 66 통과(파이프 없이 · exit 0). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
카드 171 에 대한 대장님 답 b(기호만 안 겹치는 것으로 바꾼 뒤 머지) 집행이다. measure-mirror 의 mm.py 는 ㉑~㉘ 를 한 등록부로 쓰고, 그 ㉘ 는 이미 Subspace claim — declaration auditor 다(하위 항목 schema / no-anchor / energy-not-matched / null-ladder). 이 PR 이 붙인 ledger-birth 가 같은 번호를 두 번째 뜻으로 쓰고 있었다. 다음 빈 번호인 ㉙ 로 옮긴다. 바꾼 것은 기호 두 자리뿐이다 — server.py 의 Finding 이름과 0.2.13 절 한 줄. 0.2.10 절의 옛 ㉘ 두 줄은 진짜 ㉘ 를 가리키므로 그대로 뒀다. 시험은 기호가 아니라 ledger-birth 문자열로 검사하므로 안 깨진다. pytest 66 통과. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
왜 다시 올리나 —
#48은 결정이 아니라 사고로 닫혔다#48은#47위에 포개서 올린 PR 이었다(base =fix/preseal-checks-wire-schema).#47을--delete-branch로 머지하자 받침 브랜치가 사라졌고 깃허브가#48을 자동으로 닫았다.대장님 답은
163a(셋 다 머지)였으니 승인 범위 안이었다.★ 포개서 올린 PR 은 밑장이 빠질 때 윗장이 조용히 사라진다 — 승인이 나 있어도 안 들어간다.
base 를 형제 브랜치로 잡은 게 원인이고, 그건 내 실수다. 이번엔 base=main 이다.
재구성 방법 (내용 변경 0)
cbd9e053(원본) 을origin/main(9596b98e) 위로 rebase. 충돌 없었다 —git 이
#47의 커밋을 이미 반영된 것으로 인식해 건너뛰고, 출생 알림 커밋 하나만 재적용했다.⇒
main대비 커밋 1개 · 118줄 추가,#48과 동일하다.내용 (원문 그대로)
144a가 세운 문(없는 원장 생성 거부)은main()안이라 CLI 에만 걸린다. 08-26 에 신고된두 건은 API 경로였다 — 이 서버의 모든 툴이 그 경로다. ⇒ 수리가 신고된 곳에 안 닿았다.
API 를 막으면 전 레인 봉인이 멈추니 막지 않고 보이게 한다:
mm_preregister⚠️ new_ledger_created+lint안㉘ ledger-birthWARNmm_retract·am_record·am_witness·pm_verify⚠️ new_ledger_created절대경로를 찍는다 — 이 실패 양식의 본질이 "내가 어느 디렉터리에 있는지 모른다"라서
no such file은 도움이 안 된다. WARN 등급을 고른 이유: 출력 압축이 WARN 만 원문 그대로 둔다.★ 이 구멍은 다른 무엇으로도 못 메운다 — 갓 태어난 원장의 체인은 완벽히 성하다.
그래서 무결성 검사는 전부 초록이고 어떤 프로브도 이 파일이 새것이라 말할 이유가 없다.
그 정보가 존재하는 순간은 만드는 그 호출 하나뿐이다.
시험
4건 신설, 그중 둘은 음성대조(이어 쓸 땐 안 뜬다). 항상 뜨는 알림은 소음이고,
소음은 읽는 쪽이 건너뛰는 법을 배운다 — 이 PR 이 고치려는 병과 같은 병이다.
pytest66 통과(파이프 없이 · exit 0).🔬 시험이 워크트리 사본을 읽는지 먼저 확인하고 돌렸다(공유 editable 설치본을 읽으면
엉뚱한 코드를 재게 된다).
mirror_stack_mcp.__file__이 워크트리를 가리키는 것을 실측.판 번호
안 올린다.
⚠️ 다만 그래서
main이0.2.13인데 태그도 릴리스도 아직 없다(미발행) — 그러니 이 변경은[0.2.13]항목 안에 들어가는 게 맞다.main이 태그보다 앞선 상태다(현재 최신 태그v0.2.12). 태그·릴리스는 별건.